package com.jhgsys.internal.sypq.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jhgsys.internal.common.converter.TimeConverter;
import com.jhgsys.internal.common.entity.BaseEntity;

import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

import com.wuwenze.poi.annotation.Excel;
import com.wuwenze.poi.annotation.ExcelField;
import lombok.Data;


/**
 * 桨模 Entity
 *
 * @author ganjun
 * @date 2024-11-18 22:28:43
 */
@Excel("桨模信息表")
@Data
@TableName("sypq_model_oars")
public class ModelOars extends BaseEntity implements Serializable {

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 桨模编号，编码规则：JM+年+月+四位序号，可修改
     */
    @ExcelField(value = "桨模编号")
    @TableField("oars_code")
    private String oarsCode;

    /**
     * 原桨模编号
     */
    @TableField("orig_oars_code")
    private String origOarsCode;

    /**
     * 项目编号
     */
    @ExcelField(value = "项目编号")
    @TableField("project_code")
    private String projectCode;

    /**
     * 项目名称
     */
    @TableField("project_name")
    @ExcelField(value = "项目名称")
    private String projectName;

    /**
     * 桨模名称
     */
    @ExcelField(value = "桨模名称")
    @TableField("oars_name")
    @Size(max = 255, message = "{noMoreThan}")
    private String oarsName;

    /**
     * 来原,1:新加工,2:已有,3:外带
     */
    @TableField("source")
    private Integer source;

    /**
     * 状态,1:未开始,2:已完成
     */
    @TableField("status")
    private Integer status;

    /**
     * 要求完成时间
     */
    @ExcelField(value = "要求完成时间", writeConverter = TimeConverter.class)
    @TableField("demand_enddate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date demandEnddate;

    /**
     * 实际开始时间
     */
    @ExcelField(value = "实际开始时间", writeConverter = TimeConverter.class)
    @TableField("actually_startdate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date actuallyStartdate;

    /**
     * 实际完成时间
     */
    @ExcelField(value = "实际完成时间", writeConverter = TimeConverter.class)
    @TableField("actually_enddate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date actuallyEnddate;

    /**
     * 建模文件,1:常规建模,2:分段式建模,3:板条船,4:母型船改型
     */
    @TableField("make_model_file")
    private Integer makeModelFile;

    /**
     * 最新敞水日期
     */
    @TableField("water_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date waterDate;

    /**
     * 桨模位置,1:客户带走,2:在水池
     */
    @TableField("position")
    private Integer position;

    /**
     * 直径,mm
     */
    @TableField("diameter")
    private Float diameter;

    /**
     * 螺距比
     */
    @TableField("pitch")
    private Float pitch;

    /**
     * 盘面比
     */
    @TableField("surface_rate")
    private Float surfaceRate;

    /**
     * 弦长,mm
     */
    @TableField("chord_length")
    private Float chordLength;

    /**
     * 叶厚,mm
     */
    @TableField("fan_thick")
    private Float fanThick;

    /**
     * 轴孔直径
     */
    @TableField("hole_diameter")
    private Float holeDiameter;

    /**
     * 殻长,mm
     */
    @TableField("shell_length")
    private Float shellLength;

    /**
     * 前端直径,mm
     */
    @TableField("front_diameter")
    private Float frontDiameter;

    /**
     * 后端直径,mm
     */
    @TableField("backend_diameter")
    private Float backendDiameter;


    /**
     * 螺旋桨参数1,1:单浆,2:双桨,3:多桨
     */
    @TableField("oars_type")
    private Integer oarsType;

    /**
     * 螺旋桨参数2,1:新桨,2:备用桨
     */
    @TableField("prupose")
    private Integer prupose;

    /**
     * 螺旋桨直径,mm
     */
    @TableField("oars_diameter")
    private Float oarsDiameter;

    /**
     * 叶数
     */
    @TableField("fan_number")
    @Size(max = 32, message = "{noMoreThan}")
    private String fanNumber;

    /**
     * 备注
     */
    @TableField("memo")
    @NotBlank(message = "{required}")
    @Size(max = 300, message = "{noMoreThan}")
    private String memo;

    /**
     * 处理意见（1：成车间（民生路），2：车间中跨（民生路），3：风浪流水池（民生路）,4：长兴岛，5：销毁）
     */
    @TableField("opinion")
    private Integer opinion;

    /**
     * 处理意见名称
     */
    @TableField("opinion_name")
    private String opinionName;

    /**
     * 来源名称
     */
    @ExcelField(value = "来源")
    @TableField("source_name")
    private String sourceName;

    /**
     * 状态名称
     */
    @ExcelField(value = "状态")
    @TableField("status_name")
    private String statusName;

    /**
     * 位置名称
     */
    @TableField("position_name")
    private String positionName;


    /**
     * 建模文件名称
     */
    @TableField("make_model_file_name")
    private String makeModelFileName;

    /**
     * 图纸提交时间
     */
    @TableField("drawing_submit_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date drawingSubmitTime;

}